Cloud computing is a concept for providing computing resources and services from a packet-based virtualised “cloud” infrastructure, such that customers can access computing resources and/or services on demand from remote cloud service platforms rather than relying on on-premise hardware and storage resources. Customers may leverage the cloud, for example, to access off-premise data center storage resources as an alternative or supplement to on-premise storage resources. A cloud computing solution may utilize a private cloud (e.g., existing within the confines of a corporate Intranet), a public cloud (e.g., the Internet) or a hybrid cloud (e.g., combination of public and private cloud).
However, a problem associated with the cloud model and a barrier to its widespread adoption is the issue of data security. The virtualised nature of the cloud means that computing resources may be distributed across multiple devices and/or multiple cloud providers and the customer has limited clarity on where and how their data is being stored or who can access the data. Moreover, the cloud may be shared by many end users (including untrusted or unknown users) thereby opening windows of vulnerability to the data.